const { initDatabase } = require('../config/database')
const { initDatabaseTables } = require('../config/database-redesign')

const runDatabaseInit = async () => {
  try {
    console.log('🚀 开始完整数据库初始化...')

    // 1. 初始化基础表结构和数据
    await initDatabase()

    // 2. 初始化重新设计的表结构和触发器
    await initDatabaseTables()

    console.log('✅ 数据库初始化完成！')
    console.log('\n📊 初始化内容包括:')
    console.log('  • 用户系统表')
    console.log('  • 小说和章节表')
    console.log('  • 支付和钱包系统表')
    console.log('  • 管理员和系统配置表')
    console.log('  • 阅读历史和用户行为表')
    console.log('  • 数据库触发器')
    console.log('  • 默认系统配置数据')

    process.exit(0)
  } catch (error) {
    console.error('❌ 数据库初始化失败:', error)
    process.exit(1)
  }
}

// 如果直接运行此脚本
if (require.main === module) {
  runDatabaseInit()
}

module.exports = {
  runDatabaseInit
}
